stanfordfandomcom-20200214-history
Main/CS349W Project2
= Project 2 - Analyzing a Web Toolkit, Library, or Framework = In the second project for CS349W you will pick an existing toolkit, framework, or library for Web application development, learn how it works, and present the basic ideas to the class along with a critique of its strengths and weaknesses. The list below contain some possible candidates for the project; feel free to add your own ideas to the list. Once you have picked a system for your project, add your name next to it in the list to claim it. Project Deliverables At the end of this project you'll make a short presentation to the class about the package that you have analyzed, and also produce a 2-3-page write-up attached to this Wiki just like the previous project. Your presentation and write-up should include the following information: * What does the package do? Give a brief overview describing the general facilities in the package. * Give a specific example illustrating how the package might be used and how it makes it easier to develop Web applications. * What is most unique about this package? How is it different from other things you have seen or that we have discussed in class? * Critique: what do you think are the best things about this package? What are its greatest weaknesses? Are there particular kinds of applications for which this package is particularly well-suited? Class Presentations For this project you will have 10 minutes to present your package to the class. This is enough time for about 3-6 PowerPoint slides. Schedule Here is the tentative schedule for the project: Mon. Oct. 27, 5:00 P.M. - Team and topic selected Fri. Nov. 7, 5:00 P.M. - Project finished: writeup on Wiki Mon. Nov. 10 - Fri. Nov. 14 - Presentations in class Possible Topics The list below contains some possible candidate systems to analyze in this project; please add on to the list with any systems you are aware of that help people build Web applications. If names are present next to a topic it means the topic has been "claimed" by that team. * Django URLs, Views, and Templates (Liz Li, Okai Addy) * Pylons: A Flexible Python Framework (Garrett Eastham, Bahman Bahmani) * Google App Engine (David Underhill, James Chen) * Microsoft ASP.NET -- Nopparut Abhinoraseth (Big), Zheren Zhang * Prototype JavaScript Framework (Indrajit "Indy" Khare, Eric Choi) * Lift, the Scala Web framework (Julien Wetterwald, James Mao) * The Cappuccino framework (Jing Chen - one person team) * Swift, Secure Web Applications via Automatic Partitioning (Daniel Sanchez, Tayo Oguntebi) * jQuery - Javascript library (Juho Kim, Johnny Zhou) * Django models (Harry Robertson, Naren) * Yahoo BOSS API (Nipun, Tejaswi) * Script.aculo.us (a Javascript framework for visual effects) (Benjamin Bercovitz, Seng Keat Teh) * Mootools Framework - Javascript Development Framework (Brian Eggleston, Bear Travis) * YouTube - API (Matt Martin, Pratyus Patnaik) * CakePHP (most popular PHP framework) (Michael Fischer) * CodeIgniter (another PHP framework) * Symfony (another PHP framework) * Seaside - Smalltalk Web Framework * TurboGears (another Python framework) * Yahoo User Interface Library * The Wicket framework for Java * Dojo - Javascript AJAX library * Rico - Javascript AJAX library * Microsoft AJAX support * Spry - Javascript AJAX library * ExtJS - Javascript AJAX library Presentation Order The project presentations in class will be in the following order, from top to bottom. Monday, November 10: * Kim/Zho * Bhatia/Tenneti * Robertson/Raghavan * Fischer * Li/Addy Wednesday, November 12th: * Martin/Patnaik * Underhill/Chen * Eastham * Abhinoraseth/Zhang * Wetterwald/Mao Friday, November 14: * Sanchez/Oguntebi * Bercovitz/Teh * Eggleston/Travis * Chen * Choi/Khare